#ifndef _IN_DOOR_H_
#define _IN_DOOR_H_

#include <ros/ros.h>
#include <Eigen/Eigen>
#include <std_msgs/Int32.h>
#include <visualization_msgs/Marker.h>
#include <memory>

#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <math.h>
#include <string.h>
#include <unistd.h>

#include <sensor_msgs/CompressedImage.h>       // 压缩图像格式
#include <image_transport/image_transport.h>   //image_transport
#include <cv_bridge/cv_bridge.h>              //cv_bridge
#include <sensor_msgs/image_encodings.h>    //图像编码格式


using namespace cv;
using namespace std;

// class InDoor {
    
// public:
  // InDoor(/* args */) {
  // }
  // ~InDoor() {
  // }

void init(ros::NodeHandle& nh);
Mat img;





// private:
ros::Subscriber camera_rgb_sub_;
ros::Publisher rectangle_rgb_pub_;

// void rgbIamgeCallback(const sensor_msgs::ImageConstPtr &msgRGB);
void rgbIamgeCallback(const sensor_msgs::ImageConstPtr &msgRGB);

double angle (Point pt1, Point pt2, Point pt0);
void findSquares( const Mat& image, vector<vector<Point> >& squares);
Mat drawSquares( Mat& image, const vector<vector<Point> >& squares );

// void detect_door ();
// };



#endif